home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 4201 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  2.0 KB

  1. Path: mail2news.demon.co.uk!hpl3sn03.cern.ch
  2. From: Dan Pop <danpop@mail.cern.ch>
  3. Newsgroups: comp.lang.c
  4. Subject: Re: HELP - why isn't ld working
  5. Date: Fri, 2 Feb 1996 19:06:17 +0100
  6. Organization: CERN European Lab for Particle Physics
  7. Message-ID: <9602021806.AA29085@dxmint.cern.ch>
  8. References: <4etai7$22s@deadbird.db.erau.edu>
  9. X-NNTP-Posting-Host: hpl3sn03.cern.ch
  10. X-Newsreader: NN version 6.5.0 #7 (NOV)
  11. X-Mail2News-Path: dxmint.cern.ch!hpl3sn03.cern.ch
  12.  
  13. marseed@news.db.erau.edu (Darryl E. Marsee) writes:
  14.  
  15. >Under Solaris 2.4, SunOS 4.1.4, and AIX 4.1.3 if he does the following:
  16. >
  17. > gcc ex5.c ex5a.c
  18. >
  19. >It produces a correctly executing a.out.  So far so good.
  20. >
  21. >Again under all three operating systems, if he does the following instead:
  22. >
  23. > gcc -c ex5.c
  24. > gcc -c ex5a.c
  25. >
  26. >Everything compiles fine.  However, if he then tries to link them to 
  27. >produce an executable with the following:
  28. >
  29. > ld ex5.o ex5a.o -lc
  30. >
  31. >On Solaris 2.4 it produces a working a.out, but on SunOS 4.1.4 it produces
  32. >an a.out that core dumps with a segmentation fault, and on AIX 4.1.3 it
  33. >produces nothing but gives the error message
  34. >
  35. > ld: 0711-327 WARNING: Entry point not found: __start
  36. > ld: 0711-244 ERROR: No csects or exported symbols have been saved.
  37.  
  38. The mistake is in using ld.  The correct way to link object files produced
  39. by gcc is:
  40.  
  41. gcc ex5.o ex5a.o
  42.  
  43. gcc will produce the magic ld incantation needed to correctly link the
  44. object files and produce an executable file on the underlying platform.
  45. Use the -v option with the above command to see how this incantation looks
  46. and you'll understand why the simple-minded ld invocation didn't work.
  47.  
  48. >I'm not a C programmer, so I don't have much of a clue what's going on here.
  49.  
  50. Even if you aren't a C programmer you should have realized that this isn't
  51. a C language issue and posting to c.l.c was a mistake.  A better place
  52. would have been comp.unix.programmer.
  53.  
  54. Dan
  55. -- 
  56. Dan Pop
  57. CERN, CN Division
  58. Email: danpop@mail.cern.ch 
  59. Mail:  CERN - PPE, Bat. 31 R-004, CH-1211 Geneve 23, Switzerland
  60.